package com.gjh.ouygoing.controller;

import com.gjh.ouygoing.entity.Product;
import io.swagger.annotations.Api;
import com.gjh.ouygoing.entity.Product;
import io.swagger.annotations.ApiOperation;
import com.gjh.ouygoing.vo.R;
import java.util.Date;
import java.util.List;
import com.gjh.ouygoing.service.ProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;



@CrossOrigin //防止跨域
@RestController
@RequestMapping("/api/product")
@Api(tags = "商品文档")
//开启我们的这个异常的回滚事务，在我们的这个程序代码出现Exception的异常的时候我们可以通过这个注解来解决
@Transactional(rollbackFor = Exception.class)
public class ProductController extends BaseController {
    /**+
     * 用来调用我们的这个上坪的服务层
     */
    @Autowired
    private ProductService productService;

    @ApiOperation("商品测试方法")
    @RequestMapping("/test")
    public R test(){
        return R.ok().data("message", "hillo").data("time", new Date());
    }

    /**
     * 用来通过service来查询相关的商品信息
     * @return
     */
    @ApiOperation("用来测试我们的这个Mybatis-plus的文件")
    @RequestMapping("/list")
    public R list(){
        List<Product> list = productService.list();
        return R.ok().data("productList", list);//返回我当前的这个状态和我的这个相关信息
    }
}
